(function($){      
	$.fn.extend({           
		center: function (options) {               
			var options =  $.extend({ 
				// Default values                     
				inside:window, // element, center into window                     
				transition: 0, // millisecond, transition time                     
				minX:0, // pixel, minimum left element value                     
				minY:0, // pixel, minimum top element value                     
				withScrolling:true, // booleen, take care of the scrollbar (scrollTop)                     
				vertical:true, // booleen, center vertical                     
				horizontal:true // booleen, center horizontal                
			}, options);                
			return this.each(function() {                     
				var props = {position:'absolute'};                     
				if (options.vertical) {                          
					var top = ($(options.inside).height() - $(this).outerHeight()) / 2;                          
					if (options.withScrolling) top += $(options.inside).scrollTop() || 0;                          
					top = (top > options.minY ? top : options.minY);                          
					$.extend(props, {top: top+'px'});                     
				}                     
				if (options.horizontal) {                           
					var left = ($(options.inside).width() - $(this).outerWidth()) / 2;                           
					if (options.withScrolling) left += $(options.inside).scrollLeft() || 0;                           
					left = (left > options.minX ? left : options.minX);                           
					$.extend(props, {left: left+'px'});                     
				}                     
				if (options.transition > 0) 
					$(this).animate(props, options.transition);                     
				else $(this).css(props);                     
					return $(this);                
			});           
		}      
	});
})(jQuery); 